Abstraction-Carrying Code
نویسندگان
چکیده
ion-Carrying Code Elvira Albert, Germán Puebla, and Manuel Hermenegildo 1 DSIP, Universidad Complutense Madrid 2 Facultad de Informática, Technical University of Madrid 3 Depts. of Comp. Sci. and El. and Comp. Eng., U. of New Mexico Abstract. Proof-Carrying Code (PCC) is a general approach to mobile code safety in which programs are augmented with a certificate (or proof). The practical uptake of PCC greatly depends on the existence of a variety of enabling technologies which allow both to prove programs Proof-Carrying Code (PCC) is a general approach to mobile code safety in which programs are augmented with a certificate (or proof). The practical uptake of PCC greatly depends on the existence of a variety of enabling technologies which allow both to prove programs correct and to replace a costly verification process by an efficient checking procedure on the consumer side. In this work we propose AbstractionCarrying Code (ACC), a novel approach which uses abstract interpretation as enabling technology. We argue that the large body of applications of abstract interpretation to program verification is amenable to the overall PCC scheme. In particular, we rely on an expressive class of safety policies which can be defined over different abstract domains. We use an abstraction (or abstract model) of the program computed by standard static analyzers as a certificate. The validity of the abstraction on the consumer side is checked in a single-pass by a very efficient and specialized abstract-interpreter. We believe that ACC brings the expressiveness, flexibility and automation which is inherent in abstract interpretation techniques to the area of mobile code safety. We have implemented and benchmarked ACC within the Ciao system preprocessor. The experimental results show that the checking phase is indeed faster than the proof generation phase, and that the sizes of certificates are reasonable.
منابع مشابه
ar X iv : c s / 07 01 11 1 v 1 [ cs . P L ] 1 7 Ja n 20 07 Some Issues on Incremental Abstraction - Carrying Code
ion-Carrying Code Elvira Albert, Puri Arenas, and Germán Puebla 1 Complutense University of Madrid, {elvira,puri}@sip.ucm.es 2 Technical University of Madrid, [email protected] Abstract. Abstraction-Carrying Code (ACC) has recently been proposed as a framework for proof-carrying code (PCC) in which the code supplier provides a program together with an abstraction (or abstract Abstraction-Carryin...
متن کاملSome Issues on Incremental Abstraction-Carrying Code
ion-Carrying Code Elvira Albert, Puri Arenas, and Germán Puebla 1 Complutense University of Madrid, {elvira,puri}@sip.ucm.es 2 Technical University of Madrid, [email protected] Abstract. Abstraction-Carrying Code (ACC) has recently been proposed as a framework for proof-carrying code (PCC) in which the code supplier provides a program together with an abstraction (or abstract model of the progra...
متن کاملAn Incremental Approach to Abstraction-Carrying Code
ion-Carrying Code? Elvira Albert, Puri Arenas, and Germán Puebla 1 Complutense University of Madrid, {elvira,puri}@sip.ucm.es 2 Technical University of Madrid, [email protected] Abstract. Abstraction-Carrying Code (ACC) has recently been proAbstraction-Carrying Code (ACC) has recently been proposed as a framework for Proof-Carrying Code (PCC) in which the code supplier provides a program togethe...
متن کاملReduced Certificates for Abstraction-Carrying Code
ion-Carrying Code ? Elvira Albert, Puri Arenas, Germán Puebla, and Manuel Hermenegildo 1 Complutense University of Madrid, {elvira,puri}@sip.ucm.es 2 Technical University of Madrid, {german,herme}@fi.upm.es 3 University of New Mexico, [email protected] Abstract. Abstraction-Carrying Code (ACC) has recently been proposed as a framework for mobile code safety in which the code supplier provides a pro...
متن کاملTemporal-Safety Proofs for Systems Code
We present a methodology and tool for verifying and certifying systems code. The verification is based on the lazy-abstraction paradigm for intertwining the following three logical steps: construct a predicate abstraction from the code, model check the abstraction, and automatically refine the abstraction based on counterexample analysis. The certification is based on the proof-carrying code pa...
متن کاملGeneration of Reduced Certificates in Abstraction-Carrying Code
Abstraction-Carrying Code (ACC) has recently been proposed as a framework for mobile code safety in which the code supplier provides a program together with an abstraction whose validity entails compliance with a predefined safety policy. The abstraction plays thus the role of safety certificate and its generation is carried out automatically by a fixed-point analyzer. The advantage of providin...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2004